<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>JS实现当前时间到指定时间的倒计时</title>
</head>

<body>
    如何利用js来制作时间倒计时效果
    https://www.cnblogs.com/simple-Xiao/p/16109513.html

    <div id="app">2022-12-21 24:00:00</div>
    <script>
        // 代码如下：
        function countDown(time) {
            let nowTime = +new Date(); // 返回的是当前时间总的毫秒数
            let inputTime = +new Date(time); // 返回的是用户输入时间总的毫秒数
            let times = (inputTime - nowTime) / 1000; // times是剩余时间总的秒数
            let d = parseInt(times / 60 / 60 / 24); // 把秒数转换成天数  （parselnt把得到的数转换为整数）
            d = d < 10 ? '0' + d : d;//这里为了让时间数好看一点，比如把4天改成04天，所以加了三元判定，下面也是如此；
            let h = parseInt(times / 60 / 60 % 24); //时
            h = h < 10 ? '0' + h : h;
            let m = parseInt(times / 60 % 60); //分
            m = m < 10 ? '0' + m : m;
            let s = parseInt(times % 60); // 秒
            s = s < 10 ? '0' + s : s;
            return d + '天' + h + '时' + m + '分' + s + '秒'; //返回函数计算出的值
        }

        //获取位置
        let app = document.getElementById("app");
        //获取截止时间
        let app_time = app.innerHTML;
        //时间格式：2022-12-29 24:00:00


        const count_time = () => {
            //获取剩余时间
            let remainder = countDown(app_time);
            //打印剩余时间
            app.innerHTML = "<span>距离截止时间还有" + remainder + "哦！</span>";

            //判断时间是否超出，活动日期减去当前日期，判断是否超出，超出则结束

            //进行计算
            let time_if = (new Date(app_time.replace(/-/ig, '/')).getTime() - new Date().getTime()) / 1000;
            if (time_if < 0) {
                //活动开始
                app.innerHTML = "<span style=" + "color:red;" + ">" + "本次活动<b>开始咯</b></span>";
                return
            }

            //定时执行，1秒刷新一次
            setTimeout(() => {
                count_time()
            }, 1000)

        }

        count_time();


        console.log(countDown(app_time)); //在控制台输出你输入时间与你电脑时间的差值就是倒计时；
        let date = new Date(); //获取你电脑当前的时间；
        console.log(date); //在控制台输出你当前电脑时间；


    </script>
</body>

</html>